An interconnection network may refer to any system that enables fast data communication among its components, or nodes. An interconnection network may be any switch, router, processor-memory, input/output (I/O), system on a chip (SoC), multiple-chip, or other network. An SoC may refer to a system that integrates all the functionality of a computer or other complex electronic data system onto a single integrated circuit, or chip.
An interconnection network may comprise a plurality of caches. Each cache may comprise a series of address lines where data is stored. Such a network may employ cache coherence, which may refer to a discipline that ensures that a change to data in one cache is propagated throughout the network to other caches sharing the same data. One type of cache coherence is snooping based. Snooping may refer to a process where each cache monitors for access to address lines where it has stored data. If a first cache observes on a second cache a write operation to an address line where the first cache also has stored data, then the first cache may invalidate, or remove, that stored data.
Data in an interconnection network may be exchanged from one node to another node in what is called a transaction. A transaction may comprise phases, which may represent sequential steps toward completion of the transaction. Examples of phases may be a request for data, a transmission of the data, and an acknowledgment of receipt of the data. The data may be exchanged in the form of a packet, which may typically comprise a header containing control information and a payload containing the data that is the purpose of the transmission.